package C_Paper;

import java.util.Arrays;

public class C100_21 {
    public static void main(String[] args) {
        System.out.println(Arrays.toString(x(29)));
    }
    public static int[] x(int num){
        // 从最小的判断起，当2个数就能满足时无必要查看3个的
        int i = 2;
        do{
            // 应该是包含平均值的数相加才可能
            int m = num / i;
            for (int j = 0; j < i; j++) {
                int sum = 0;
                // 起点值按平均值往钱推
                for (int k = m-j; k < m-j+i; k++) {
                    sum+=k;
                }
                // 对应个数的连续值相加已经小于输入时跳出，进行i++
                if (sum < num) break;
                if (sum == num){
                    int[] mm = new int[i];
                    for (int k = 0; k < i; k++) {
                        mm[k] = m-j+k;
                    }
                    return mm;
                }
            }

            i++;
        }while(true);
    }
}
